#include <iostream>
#include <unistd.h>
#include <signal.h>

using namespace std;

void handler(int signo)
{
    cout << "我是一个进程，刚刚获取了一个信号: " << signo << endl;
}

int main()
{
    // 给该信号设置了回调捕捉，自定义动作
    // 这里不是调用handler方法，这里只是设置了一个回调，让SIGINT产生的时候，该方法才会被调用。
    // 如果不产生SIGINT，该方法不会被调用！
    // 当二号信号产生的时候，才调用后面的方法。
    signal(SIGINT, handler);
    signal(3, handler);

    sleep(3);
    cout << "进程已经设置完了" << endl; 

    sleep(3);

    while (true)
    {
        cout << "我是一个正在运行中的进程: " << getpid() << endl;
        sleep(1);
    }
    return 0;
}